package com.sprouting.ops.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Arrays;
import java.util.Optional;

/**
 * 云主机类型
 *
 * @author ：LX（长沙麓谷）
 * @date 创建时间： 2023/11/8 15:57
 */
@Getter
@AllArgsConstructor
public enum CloudTypeEnum {

    /**
     *
     */
    ALIBABA(1, "阿里云"),
    TENCENT(2, "腾讯云"),
    BAI_DU(3, "百度云"),
    HUAWEI(4, "华为云"),
    TIANYI(5, "天翼云"),
    PING_AN(6, "平安云"),
    AMAZON(7, "亚马逊云"),
    CMCC(8, "移动云"),
    KINGSOFT(9, "金山云"),
    JD(10, "京东云"),
    UC(11, "UC云"),
    ;

    /**
     * 返回代码，默认情况下使用
     */
    private final Integer code;
    /**
     * 消息
     */
    private final String name;

    /**
     * 根据code查询出对应的枚举
     * @param code 要查询的代码
     * @return
     */
    public static CloudTypeEnum getByCode(Integer code){
        Optional<CloudTypeEnum> optional = Arrays.stream(CloudTypeEnum.values())
                .filter(p -> p.getCode().equals(code))
                .findFirst();
        return optional.orElse(null);
    }
}
